///*
// * To change this template, choose Tools | Templates
// * and open the template in the editor.
// */
//package br.com.foxline.service;
//
//import br.com.foxline.enums.TypeDocument;
//import br.com.foxline.model.Annex;
//import br.com.foxline.model.DataSheet;
//import br.com.foxline.model.IdentificationRealty;
//import br.com.foxline.model.People;
//import br.com.foxline.util.Caracter;
//import br.com.foxline.util.Msg;
//import java.util.List;
//import javax.ejb.EJB;
//import javax.ejb.Stateless;
//import javax.persistence.Query;
//
///**
// *
// * @author ely
// */
//@Stateless
//public class DataSheetService extends GenericService<DataSheet> {
//
//    @EJB
//    PeopleService peopleService;
//
//    public DataSheetService() {
//        super(DataSheet.class);
//    }
//
//    public void saveDataSheet(DataSheet dataSheet) {
//        try {
//            save(dataSheet);
//            Msg.messagemInfo("Cadastrado com Sucesso");
//        } catch (Exception erro) {
//        }
//    }
//    public void updateDataSheet(DataSheet dataSheet) {
//        try {
//            update(dataSheet);
//            Msg.messagemInfo("Atualizado com Sucesso");
//        } catch (Exception erro) {
//        }
//    }
//
//    public People existDocuments(People p) {
//        People pe;
//        pe = peopleService.existDocuments(p);
//        return pe;
//    }
//    
//    public List<People> lstAdquirente(DataSheet d){
//        String sql = "SELECT a FROM DataSheet d JOIN d.adquirente a WHERE d.id = :id";
//        Query query = getEntityManager().createQuery(sql);
//        query.setParameter("id", d.getId());
//        return (List<People>) query.getResultList();
//    }
//
//    public List<People> lstTransmitente(DataSheet d){
//        String sql = "SELECT t FROM DataSheet d JOIN d.transmitente t WHERE d.id = :id";
//        Query query = getEntityManager().createQuery(sql);
//        query.setParameter("id", d.getId());
//        return (List<People>) query.getResultList();
//    }
//    
//    public List<Annex> lstAnnex(DataSheet d){
//        String sql = "SELECT a FROM DataSheet d JOIN d.annexs a WHERE d.id = :id";
//        Query query = getEntityManager().createQuery(sql);
//        query.setParameter("id", d.getId());
//        return (List<Annex>) query.getResultList();
//    }
//    
//    /**
//     * 
//     * @param findDataSheet
//     * 
//     * Pesquisa para retornar um objeto do tipo memorial descritivo, buscando pelo 
//     * transmitente, adquirente, e interessado
//     */
//    
//    
//    public List<DataSheet> findDataSheet(DataSheet d, People interested, People transmitente, People adquirente) {
//        String sql = "SELECT d FROM DataSheet d ";
//
//        if (adquirente.getTypeDocument() == TypeDocument.CPF) {
//            if ((!adquirente.getCpf().equals("") && adquirente.getCpf() != null)
//                    || (!adquirente.getName().equals("") && adquirente.getName() != null)) {
//                sql += " JOIN d.adquirente a ";
//
//            }
//        }
//        if (adquirente.getTypeDocument() == TypeDocument.CNPJ) {
//            if ((!adquirente.getCnpj().equals("") && adquirente.getCnpj() != null)
//                    || (!adquirente.getName_fantasy().equals("") && adquirente.getName_fantasy() != null)) {
//                sql += " JOIN d.adquirente a ";
//
//            }
//        }
//        
//        if (transmitente.getTypeDocument() == TypeDocument.CPF) {
//            if ((!transmitente.getCpf().equals("") && transmitente.getCpf() != null)
//                    || (!transmitente.getName().equals("") && transmitente.getName() != null)) {
//                sql += " JOIN d.transmitente t ";
//
//            }
//        }
//        if (transmitente.getTypeDocument() == TypeDocument.CNPJ) {
//            if ((!transmitente.getCnpj().equals("") && transmitente.getCnpj() != null)
//                    || (!transmitente.getName_fantasy().equals("") && transmitente.getName_fantasy() != null)) {
//                sql += " JOIN d.transmitente t ";
//
//            }
//        }
//        if (interested.getTypeDocument() == TypeDocument.CPF) {
//            if ((!interested.getCpf().equals("") && interested.getCpf() != null)
//                    || (!interested.getName().equals("") && interested.getName() != null)) {
//                sql += " JOIN d.interested i ";
//
//            }
//        }
//        if (interested.getTypeDocument() == TypeDocument.CNPJ) {
//            if ((!interested.getCnpj().equals("") && interested.getCnpj() != null)
//                    || (!interested.getName_fantasy().equals("") && interested.getName_fantasy() != null)) {
//                sql += " JOIN d.interested i ";
//
//            }
//        }
//
//        sql += " where ";
//
//        if (interested.getTypeDocument() == TypeDocument.CPF) {
//            if ((!interested.getCpf().equals("") && interested.getCpf() != null)) {
//                sql += " lower(i.cpf) like lower(:icpf) and ";
//            }
//            if ((!interested.getName().equals("") && interested.getName() != null)) {
//                sql += " lower(i.name) like lower(:iname) and ";
//            }
//        }
//
//        if (interested.getTypeDocument() == TypeDocument.CNPJ) {
//            if ((!interested.getCnpj().equals("") && interested.getCnpj() != null)) {
//                sql += " lower(i.cnpj) like lower(:icnpj) and ";
//            }
//            if ((!interested.getName_fantasy().equals("") && interested.getName_fantasy() != null)) {
//                sql += " lower(i.name_fantasy) like lower(:inamefantasy) and ";
//            }
//        }
//        if (transmitente.getTypeDocument() == TypeDocument.CPF) {
//            if ((!transmitente.getCpf().equals("") && transmitente.getCpf() != null)) {
//                sql += " lower(t.cpf) like lower(:tcpf) and ";
//            }
//            if ((!transmitente.getName().equals("") && transmitente.getName() != null)) {
//                sql += " lower(t.name) like lower(:tname) and ";
//            }
//        }
//
//        if (transmitente.getTypeDocument() == TypeDocument.CNPJ) {
//            if ((!transmitente.getCnpj().equals("") && transmitente.getCnpj() != null)) {
//                sql += " lower(t.cnpj) like lower(:tcnpj) and ";
//            }
//            if ((!transmitente.getName_fantasy().equals("") && transmitente.getName_fantasy() != null)) {
//                sql += " lower(t.name_fantasy) like lower(:tnamefantasy) and ";
//            }
//        }
//        
//        if (adquirente.getTypeDocument() == TypeDocument.CPF) {
//            if ((!adquirente.getCpf().equals("") && adquirente.getCpf() != null)) {
//                sql += " lower(a.cpf) like lower(:acpf) and ";
//            }
//            if ((!adquirente.getName().equals("") && adquirente.getName() != null)) {
//                sql += " lower(a.name) like lower(:aname) and ";
//            }
//        }
//
//        if (adquirente.getTypeDocument() == TypeDocument.CNPJ) {
//            if ((!adquirente.getCnpj().equals("") && adquirente.getCnpj() != null)) {
//                sql += " lower(a.cnpj) like lower(:acnpj) and ";
//            }
//            if ((!adquirente.getName_fantasy().equals("") && adquirente.getName_fantasy() != null)) {
//                sql += " lower(a.name_fantasy) like lower(:anamefantasy) and ";
//            }
//        }
//
//
//        sql += " 1=1 ";
//        System.err.print(sql);
//        Query query = getEntityManager().createQuery(sql);
//
//
//        if (interested.getTypeDocument() == TypeDocument.CPF) {
//            if ((!interested.getCpf().equals("") && interested.getCpf() != null)) {
//                query.setParameter("icpf", interested.getCpf());
//
//            }
//            if ((!interested.getName().equals("") && interested.getName() != null)) {
//                query.setParameter("iname","%"+ interested.getName()+"%");
//
//            }
//        }
//        if (interested.getTypeDocument() == TypeDocument.CNPJ) {
//            if ((!interested.getCnpj().equals("") && interested.getCnpj() != null)) {
//                query.setParameter("icnpj", interested.getCnpj());
//
//            }
//            if ((!interested.getName_fantasy().equals("") && interested.getName_fantasy() != null)) {
//                query.setParameter("inamefantasy","%"+ interested.getName_fantasy()+"%");
//
//            }
//        }
//        if (transmitente.getTypeDocument() == TypeDocument.CPF) {
//            if ((!transmitente.getCpf().equals("") && transmitente.getCpf() != null)) {
//                query.setParameter("tcpf", transmitente.getCpf());
//
//            }
//            if ((!transmitente.getName().equals("") && transmitente.getName() != null)) {
//                query.setParameter("tname","%"+ transmitente.getName()+"%");
//
//            }
//        }
//        if (transmitente.getTypeDocument() == TypeDocument.CNPJ) {
//            if ((!transmitente.getCnpj().equals("") && transmitente.getCnpj() != null)) {
//                query.setParameter("tcnpj", transmitente.getCnpj());
//
//            }
//            if ((!transmitente.getName_fantasy().equals("") && transmitente.getName_fantasy() != null)) {
//                query.setParameter("tnamefantasy","%"+ transmitente.getName_fantasy()+"%");
//
//            }
//        }
//        
//        if (adquirente.getTypeDocument() == TypeDocument.CPF) {
//            if ((!adquirente.getCpf().equals("") && adquirente.getCpf() != null)) {
//                query.setParameter("acpf", adquirente.getCpf());
//
//            }
//            if ((!adquirente.getName().equals("") && adquirente.getName() != null)) {
//                query.setParameter("aname","%"+ adquirente.getName()+ "%");
//
//            }
//        }
//        if (adquirente.getTypeDocument() == TypeDocument.CNPJ) {
//            if ((!adquirente.getCnpj().equals("") && adquirente.getCnpj() != null)) {
//                query.setParameter("acnpj", adquirente.getCnpj());
//
//            }
//            if ((!adquirente.getName_fantasy().equals("") && adquirente.getName_fantasy() != null)) {
//                query.setParameter("anamefantasy","%"+ adquirente.getName_fantasy()+"%");
//
//            }
//        }
//        return query.getResultList();
//    }
//
//    public void removeCaracterIdentification(IdentificationRealty identification) {
//        identification.setCep(Caracter.removecaracter(identification.getCep()));
//    }
//}
